package com.conti.service;

import com.conti.dto.DownTimeCodeDTO;
import com.conti.dto.LinePageQueryDTO;
import com.conti.dto.LineQueryDTO;
import com.conti.dto.ShiftBookDTO;
import com.conti.entity.CTAndCustomer;
import com.conti.entity.DowntimeReason;
import com.conti.entity.PartNumber;
import com.conti.result.PageResult;
import com.conti.vo.LineNoPagingVO;

import java.util.List;

public interface LineService {

    /**
     * 产线分页查询
     * @param linePageQueryDTO
     * @return
     */

    PageResult pageQuery(LinePageQueryDTO linePageQueryDTO);

    /**
     * 产线查询，无需分页版
     * @param lineQueryDTO
     * @return
     */
    List<LineNoPagingVO> queryNoPaging(LineQueryDTO lineQueryDTO);

    /**
     * 根据产线查询料号
     * @param line
     * @return
     */
    List<PartNumber> getPartNumberByLine(String line);

    /**
     * 根据部门和产线获取停机原因
     * @param downTimeCodeDTO
     * @return
     */
    List<DowntimeReason> getDowntimeReason(DownTimeCodeDTO downTimeCodeDTO);

    /**
     * 新增班次报表
     * @param shiftBookDTOList
     */
    void addNewShiftBook(List<ShiftBookDTO> shiftBookDTOList);

    /**
     * 获取料号的消费者和CT时间
     * @param partNumber
     * @param equipment
     * @return
     */
    CTAndCustomer getCTAndCustomer(String partNumber, String equipment);
}
